/*
 *  VertexBuffer.h
 *  glare
 *
 *  Created by sunjun on 11-6-14.
 *  Copyright 2011 sunstdio. All rights reserved.
 *
 */

//////////////////////////////////////////////////////////////////////////

#ifndef __VertexBuffer__
#define __VertexBuffer__

//////////////////////////////////////////////////////////////////////////

#if defined __cplusplus

//////////////////////////////////////////////////////////////////////////

#include <Render.h>

//////////////////////////////////////////////////////////////////////////

NAMESPACE_BEGIN(Render)

//////////////////////////////////////////////////////////////////////////

	// this class provides an object-oriented VertexBuffer interface.
	class VertexBuffer
	{
	public:		
		// constructor
		VertexBuffer();
		
		// destructor
		~VertexBuffer();

		// load the data
		VOID Load(U32 count, U32 stride, U8 attrib[16], const VOID* data);

    // bind the vertex buffer
    VOID Bind();

	private:
		U32 mObject;
		U32 mCount;
		U32 mStride;
    U8 mAttrib[16];
	};
  
//////////////////////////////////////////////////////////////////////////

NAMESPACE_END

//////////////////////////////////////////////////////////////////////////

#endif // __cplusplus

//////////////////////////////////////////////////////////////////////////

#endif // __VertexBuffer__

//////////////////////////////////////////////////////////////////////////